ITP001 Axioms: ITP079^5.ax


%------------------------------------------------------------------------------
% File     : ITP079^5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : Coder^2.ax [Gau20]
%          : HL4079^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   59 (   0 unt;  15 typ;   0 def)
%            Number of atoms       : 1807 (  18 equ;   0 cnn)
%            Maximal formula atoms :   56 (  30 avg)
%            Number of connectives : 2418 (   0   ~;   0   |;   8   &;2329   @)
%                                         (   1 <=>;  80  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (  13 avg;2329 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   22 (  22   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   69 (  68 usr;  57 con; 0-4 aty)
%            Number of variables   :  131 (   4   ^ 126   !;   1   ?; 131   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2ECoder_2Eblist__coder,type,
    c_2ECoder_2Eblist__coder: del > del > del > $i ).

thf(mem_c_2ECoder_2Eblist__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27b @ A_27c ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Ebnum__coder,type,
    c_2ECoder_2Ebnum__coder: $i ).

thf(mem_c_2ECoder_2Ebnum__coder,axiom,
    mem @ c_2ECoder_2Ebnum__coder @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Ebool__coder,type,
    c_2ECoder_2Ebool__coder: $i ).

thf(mem_c_2ECoder_2Ebool__coder,axiom,
    mem @ c_2ECoder_2Ebool__coder @ ( arr @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Edecode,type,
    c_2ECoder_2Edecode: del > $i ).

thf(mem_c_2ECoder_2Edecode,axiom,
    ! [A_27a: del] : ( mem @ ( c_2ECoder_2Edecode @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ A_27a ) ) ) ) ).

thf(tp_c_2ECoder_2Edecoder,type,
    c_2ECoder_2Edecoder: del > $i ).

thf(mem_c_2ECoder_2Edecoder,axiom,
    ! [A_27a: del] : ( mem @ ( c_2ECoder_2Edecoder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ A_27a ) ) ) ).

thf(tp_c_2ECoder_2Edomain,type,
    c_2ECoder_2Edomain: del > $i ).

thf(mem_c_2ECoder_2Edomain,axiom,
    ! [A_27a: del] : ( mem @ ( c_2ECoder_2Edomain @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ A_27a @ bool ) ) ) ).

thf(tp_c_2ECoder_2Eencoder,type,
    c_2ECoder_2Eencoder: del > $i ).

thf(mem_c_2ECoder_2Eencoder,axiom,
    ! [A_27a: del] : ( mem @ ( c_2ECoder_2Eencoder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).

thf(tp_c_2ECoder_2Elist__coder,type,
    c_2ECoder_2Elist__coder: del > del > $i ).

thf(mem_c_2ECoder_2Elist__coder,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Enum__coder,type,
    c_2ECoder_2Enum__coder: $i ).

thf(mem_c_2ECoder_2Enum__coder,axiom,
    mem @ c_2ECoder_2Enum__coder @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Eoption__coder,type,
    c_2ECoder_2Eoption__coder: del > del > $i ).

thf(mem_c_2ECoder_2Eoption__coder,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Eprod__coder,type,
    c_2ECoder_2Eprod__coder: del > del > del > del > $i ).

thf(mem_c_2ECoder_2Eprod__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : ( mem @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Esum__coder,type,
    c_2ECoder_2Esum__coder: del > del > del > del > $i ).

thf(mem_c_2ECoder_2Esum__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : ( mem @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Etree__coder,type,
    c_2ECoder_2Etree__coder: del > del > $i ).

thf(mem_c_2ECoder_2Etree__coder,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Eunit__coder,type,
    c_2ECoder_2Eunit__coder: $i ).

thf(mem_c_2ECoder_2Eunit__coder,axiom,
    mem @ c_2ECoder_2Eunit__coder @ ( arr @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).

thf(tp_c_2ECoder_2Ewf__coder,type,
    c_2ECoder_2Ewf__coder: del > $i ).

thf(mem_c_2ECoder_2Ewf__coder,axiom,
    ! [A_27a: del] : ( mem @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ bool ) ) ).

thf(ax_thm_2ECoder_2Edecode__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1d: $i] :
          ( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( ap @ ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
              = ( ap
                @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ A_27a ) @ ( ap @ V1d @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) )
                  @ ( ap @ ( c_2Emin_2E_40 @ A_27a )
                    @ ( lam @ A_27a
                      @ ^ [V3x: $i] : ( ap @ V0p @ V3x ) ) ) )
                @ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
                  @ ^ [V4v: $i] :
                      ( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ A_27a @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V4v )
                      @ ( lam @ A_27a
                        @ ^ [V5x: $i] :
                            ( lam @ ( ty_2Elist_2Elist @ bool )
                            @ ^ [V6v2: $i] : V5x ) ) ) ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Ewf__coder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) ) )
              <=> ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ A_27a ) @ V0p ) )
                  & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                  & ( V2d
                    = ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Edomain__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = V0p ) ) ) ) ).

thf(ax_thm_2ECoder_2Eencoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Eencoder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = V1e ) ) ) ) ).

thf(ax_thm_2ECoder_2Edecoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ V2d ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Edecode__encode,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                  & ( p @ ( ap @ V0p @ V2x ) ) )
               => ( ( ap @ ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) @ ( ap @ V1e @ V2x ) )
                  = V2x ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder,axiom,
    ! [A_27a: del,V0c: $i] :
      ( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
       => ! [V1x: $i] :
            ( ( mem @ V1x @ A_27a )
           => ( ( p @ ( ap @ ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ V0c ) @ V1x ) )
             => ( ( ap @ ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ V0c ) @ ( ap @ ( ap @ ( c_2ECoder_2Eencoder @ A_27a ) @ V0c ) @ V1x ) )
                = V1x ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__closed,axiom,
    ! [A_27a: del,V0c: $i] :
      ( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
       => ! [V1l: tp__c_ty_2Elist_2Elist_o] : ( p @ ( ap @ ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ V0c ) @ ( ap @ ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ V0c ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__op,axiom,
    ! [A_27a: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2f: $i] :
              ( ( mem @ V2f @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
             => ( ( ? [V3x: $i] :
                      ( ( mem @ V3x @ A_27a )
                      & ( p @ ( ap @ V0p @ V3x ) ) )
                  & ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
                  & ! [V4x: $i] :
                      ( ( mem @ V4x @ A_27a )
                     => ( ( p @ ( ap @ V0p @ V4x ) )
                       => ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ V1e @ V4x ) )
                          = ( surj__c_ty_2Elist_2Elist_o @ ( ap @ V2f @ V4x ) ) ) ) ) )
               => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V2f ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Eunit__coder__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ( ( ap @ c_2ECoder_2Eunit__coder @ V0p )
        = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__unit ) @ ( ap @ c_2EDecode_2Edecode__unit @ V0p ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__unit,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
     => ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ ty_2Eone_2Eone ) @ V0p ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Eone_2Eone ) @ ( ap @ c_2ECoder_2Eunit__coder @ V0p ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Ebool__coder__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ( ( ap @ c_2ECoder_2Ebool__coder @ V0p )
        = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__bool ) @ ( ap @ c_2EDecode_2Edecode__bool @ V0p ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__bool,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ bool @ bool ) )
     => ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ bool ) @ V0p ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ bool ) @ ( ap @ c_2ECoder_2Ebool__coder @ V0p ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Eprod__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1e1: $i] :
          ( ( mem @ V1e1 @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3p2: $i] :
                  ( ( mem @ V3p2 @ ( arr @ A_27b @ bool ) )
                 => ! [V4e2: $i] :
                      ( ( mem @ V4e2 @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) )
                     => ! [V5d2: $i] :
                          ( ( mem @ V5d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                         => ( ( ap @ ( ap @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p1 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e1 ) @ V2d1 ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V3p2 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V4e2 ) @ V5d2 ) ) )
                            = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__prod @ A_27c @ A_27d ) @ V1e1 ) @ V4e2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ V2d1 ) @ V5d2 ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__prod,axiom,
    ! [A_27a: del,A_27b: del,V0c1: $i] :
      ( ( mem @ V0c1 @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ! [V1c2: $i] :
          ( ( mem @ V1c2 @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
         => ( ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c1 ) )
              & ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27b ) @ V1c2 ) ) )
           => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27a @ A_27b ) @ V0c1 ) @ V1c2 ) ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Esum__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
      ( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
     => ! [V1e1: $i] :
          ( ( mem @ V1e1 @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d1: $i] :
              ( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ! [V3p2: $i] :
                  ( ( mem @ V3p2 @ ( arr @ A_27b @ bool ) )
                 => ! [V4e2: $i] :
                      ( ( mem @ V4e2 @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) )
                     => ! [V5d2: $i] :
                          ( ( mem @ V5d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
                         => ( ( ap @ ( ap @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p1 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e1 ) @ V2d1 ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V3p2 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V4e2 ) @ V5d2 ) ) )
                            = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__sum @ A_27c @ A_27d ) @ V1e1 ) @ V4e2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ V2d1 ) @ V5d2 ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__sum,axiom,
    ! [A_27a: del,A_27b: del,V0c1: $i] :
      ( ( mem @ V0c1 @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ! [V1c2: $i] :
          ( ( mem @ V1c2 @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
         => ( ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c1 ) )
              & ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27b ) @ V1c2 ) ) )
           => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27a @ A_27b ) @ V0c1 ) @ V1c2 ) ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Eoption__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__option @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__option,axiom,
    ! [A_27a: del,V0c: $i] :
      ( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Elist__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__list @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__list,axiom,
    ! [A_27a: del,V0c: $i] :
      ( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Eblist__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ A_27a @ bool ) )
     => ! [V2e: $i] :
          ( ( mem @ V2e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) )
         => ! [V3d: $i] :
              ( ( mem @ V3d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( ap @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27b @ A_27c ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V1p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V2e ) @ V3d ) ) )
                = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__blist @ A_27c @ A_27b ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2e ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V3d ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1c: $i] :
      ( ( mem @ V1c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V1c ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27a @ bool ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1c ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Enum__coder__def,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( ap @ c_2ECoder_2Enum__coder @ V0p )
        = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__num ) @ ( ap @ c_2EDecode_2Edecode__num @ V0p ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__num,axiom,
    ! [V0p: $i] :
      ( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ ty_2Enum_2Enum ) @ V0p ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Enum_2Enum ) @ ( ap @ c_2ECoder_2Enum__coder @ V0p ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Ebnum__coder__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( ap @ ( ap @ c_2ECoder_2Ebnum__coder @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p )
        = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V1p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ c_2EEncode_2Eencode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( p @ ( ap @ ( ap @ c_2EEncode_2Ewf__pred__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2ECoder_2Ebnum__coder @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) ) ) ) ).

thf(ax_thm_2ECoder_2Etree__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
         => ! [V2d: $i] :
              ( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
             => ( ( ap @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
                = ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__tree @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).

thf(conj_thm_2ECoder_2Ewf__coder__tree,axiom,
    ! [A_27a: del,V0c: $i] :
      ( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
     => ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
       => ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).

%------------------------------------------------------------------------------